/*******************************************************************************
*  file    : transformparamsprivate.hpp
*  created : 04.07.2014
*  author  : Slyshyk Oleksiy (alexSlyshyk@gmail.com)
*******************************************************************************/

#ifndef TRANSFORMPARAMSPRIVATE_HPP
#define TRANSFORMPARAMSPRIVATE_HPP

#include <QString>
#include <QVariant>

namespace plugin_utils {

class TransformParamsPrivate
{
public:
    TransformParamsPrivate();
    void    setParams( const QVariant& params) ;
    double  normalization() const;
    void    setNormalization(double normalization);

    double  freqCoef() const;
    void    setSampleRate(double sampleRate);

    QString smooth() const;
    void    setSmooth(const QString &smooth);

    double  zoneBegin() const;
    void    setZoneBegin(double zoneBegin);

    double  zoneEnd() const;
    void    setZoneEnd(double zoneEnd);

    QString patternFileName() const;
    void    setPatternFileName(const QString &patternFileName);

    int     minIdx() const;
    void    setMinIdx(int minIdx);

    int     maxIdx() const;
    void    setMaxIdx(int maxIdx);

    double  fxOffset() const;
    void    setFxOffset(double fx_offset);

    double  prevTime() const;
    void    setPrevTime(double prev_time);

private:
    double  normalization_ = 0.0;
    double  sampleRate_    = 0.0;
    QString smooth_;
    double  zoneBegin_     = 0;
    double  zoneEnd_       = 0;
    QString patternFileName_;

    int     minIdx_ = 0;
    int     maxIdx_ = 0;
    double  fx_offset_ = 0.0;
    double  prev_time_ = 0.0;
};

}

#endif // TRANSFORMPARAMSPRIVATE_HPP
